1. Field of the Invention
The present invention generally relates to cursor controls, especially for displays associated with data processing devices, and, more particularly, to control of mode of operation of a cursor corresponding to either a graphic input device or cursor control keys which may be emulated by the graphic input device.
2. Description of the Prior Art
In the field of computers and data processors, it has long been recognized that the capability of a user to receive and assimilate information in order to interact easily with the computer is of major importance in the usefulness of the computer in many applications. The utility of increased "computing power" to execute programs at ever increasing speeds diminishes in all but a relatively few highly complex programs which require only slight interactivity with a user when the user cannot readily perceive, understand and react to the results. Therefore, the interest in and dedication of a significant fraction of available computing power to the user interface has become a widely accepted practice for both hardware and software design in the data processing field.
Input of control signals and data through the medium of a graphic display requires the use of a device by which a location on the display may be specified and a separate mechanism for selection. In the past, this has been accomplished with various devices which have become well-known and which are in widespread use, such as the mouse, light-pen, trackball (essentially an inverted mouse which does not need to be moved across a surface), gimballed and isometric joysticks and many special purpose arrangements such as adaptations to accommodate various physical disabilities of the user. These types of devices will hereinafter be referred to collectively as graphic input devices.
For specifying location of a cursor on a display, the widespread use of data processing devices for word processors has led to the development of a mode of cursor movement in which the cursor, often referred to as a text cursor, can only assume one of a plurality of positions where a character can be rendered (hereinafter referred to as character areas or locations) which are arranged in a matrix covering a predetermined area of the display. Character areas are necessarily much larger than the potential positional resolution of the processor and display since plural pixels are necessary to render a character. That is, the cursor may be only located at positions where an alphanumeric character can be rendered (e.g. a 9 by 14 pixel sized area), whereas the processor, graphic input device and display can generally support a resolution to the location of a single pixel.
In such applications, cursor position was generally controlled through the use of so-called cursor keys (which may have a repeating function after a fixed time, known as a type-a-matic function). Such keys has been generally included on the keyboards of personal computers for display control for many years. Other devices, such as the mouse, were generally "add-on devices". Further, until recent years the complexity of graphics processing was extremely expensive in terms of processor time and graphics processing was generally limited and not customarily manipulable by a user on an interactive basis.
However, more recently, graphics capabilities of data processing and display hardware have increased to meet an increased demand for high quality displays for presentation of information which is more readily assimilated by an operator than alphanumeric text. Accordingly, initial collection of graphical input data is more often done on a pixel level resolution and the resolution decreased, if deemed desirable for word processing applications and the like, by the application itself. Such a reduction in resolution (referred to hereinafter as a "digital mode" as distinct from pixel level resolution, hereinafter referred to as an "analog mode" since the quantization of movement is not generally evident to an operator), however, hides positional information from the user and reduces visual feedback. For example, the user does not have information as to the proximity of the specified location to the character space boundary and slight positional motion during actuation, for example, of a mouse button for selection of a location may cause a boundary to be crossed and erroneous selection to occur. For this reason, most graphical input devices which are capable of operation at high resolution are not considered well-suited to word or text processing applications.
As alluded to above, it is largely a historical accident that graphic input devices are used in such text processing applications. Since the availability of a graphical input device is generally marketed as an "add-on" device for personal computers, word processing and other text-based applications generally utilize such devices, if at all, by having a text cursor controlled by cursor keys associated with the text processing function of the application and with a separate graphic cursor image provided for the graphic input device but limiting the positional resolution at which the graphic cursor image can be displayed to that of the text cursor. Then, by selection of position at the location of the graphic cursor, the text cursor can be relocated to coincide therewith, whereupon, the graphics cursor is usually hidden. Even with hiding of the graphic cursor when not in active use, such a mode of operation is less than fully convenient and leads to erroneous operation since small vibrations and inadvertent movement can cause the graphics cursor to reappear, possibly confusing the user between the identities of the two cursors.
Additionally, it should be understood that cursor control keys are binary devices; being either actuated or not. On the contrary, most graphical input devices generally measure some parameter of control and have the capability of responding to the magnitude of the measured quantity with a differentiated response (e.g. cursor movement speed). For example, it is common to provide non-linear response rate of a mouse or joystick such that more extreme motion produces more or less than a proportionate response in position. That is, more rapid mouse movement can be sensed to control greater increments of positional motion on the display than would otherwise be produced by the displacement of the mouse if displacement occurred at a lower rate. Accordingly, analog mode cursor manipulation is very convenient for long, rapid cursor movement even though some increased likelihood of error may exist in specification of the final position (e.g. due to proximity to a character area boundary) and the additional inconvenience of a separate manipulation to then move the text cursor to the position of the graphic cursor.
Similarly, in either gimballed or isometric joysticks, it is common to provide for a dead zone around the center or neutral position and to increase cursor movement speed with pressure applied to the joystick or displacement distance from the neutral position. U.S. Pat. No. 5.012,231 to Felsenstein is exemplary of this latter type of arrangement and is hereby fully incorporated by reference. In contrast, cursor keys generally provide for movement to a contiguous character area location at each keystroke and repeated cursor movement at a constant speed after holding a cursor key for a predetermined duration. Except for other motions such as movement to the bottom or top of a screen, page or document or to the right or left end of a line, no other cursor movement enhancements are available due to the binary nature of the cursor keys. Therefore, even though cursor keys provide for precise, unambiguous movement among contiguous small numbers of character spaces or to particular document locations, graphic input devices generally provide for increased facility and speed of use which are not provided by cursor keys even though some inconveniences are presented in the provision of separate cursors, possibly operating in distinct modes.
Moreover, the recent trend toward miniaturization of data processing devices coupled with the fact that keyboards cannot be reduced in size beyond certain dimensions related to human physiology without compromising ease and convenience of use has created an incentive to reduce the number of keys made available on portable data processing devices. For example, it is common to use multiple shift keys (e.g. CNTL, ALT and function (FN or FCN)) for certain function and cursor control keys to multiply the functions of some of the keys on the keyboard so that other keys can be eliminated. Nevertheless, cursor control keys continue to be provided on many of even the smallest portable computers even though the function provided thereby is not optimal for user convenience and speed of use. Further, as indicated above, there are instances in which cursor key control is desirable since the limitation of cursor resolution by an application may result in ambiguous or erroneous response.